home *** CD-ROM | disk | FTP | other *** search
/ PC World Interactive 4 / PC World Interactive 4.iso / share / hobi / catra121.EXE / cmrkctrl.txt < prev    next >
Text File  |  1997-08-07  |  11KB  |  287 lines

  1.                          CMRKCTRL.DLL
  2.                          ============
  3.  
  4. Pour une description en Franτais, voir la deuxiΦme partie de ce document.
  5. ------------------------------------------------------------------------
  6.  
  7. CMRKCTRL.DLL is a "BETA" version of the interface controller DLL for CATrain,
  8. designed for the MΣrklin Digital(c) system.
  9. Since this DLL has not yet been tested in all modes with a genuine MΣrklin
  10. 6051 control unit, this freeware is provided "as is", without any warranty
  11. of functioning.
  12. The only retribution requested to the "Beta testers" is a test report with
  13. the encountered problems and some suggestions.
  14.  
  15. Some advises:
  16.  
  17. - To use CMRKCTRL.DLL, verify that the command line "CTRLCOM=CMRKCTRL.DLL"
  18. is present into the [DLL] paragraph of the CATRAIN.INI file.
  19.  
  20. - The Baud-Rate of the serial line must be set to 2400 BD for the communication
  21. with the 6051 MΣrklin Controller.
  22.  
  23. - In case of problems encountered for controlling the "mechanical" devices
  24. or during the train circulation, it is possible to modified some parameter
  25. default values by adding the following lines inside the [PARAMETERS]
  26. paragraph of CATRAIN.INI:
  27.  
  28.  
  29.   The following line defines the pulse duration for the command of an
  30.   electromechanical device: (default 216 ms)
  31.  
  32. CTRLPERIOD=216
  33.  
  34.   The following line defines the period for the polling of the feed-back
  35.   information:  (default 648 ms)
  36.  
  37. POLLPERIOD=648
  38.  
  39.   The following line defines the maximum tolerated time for a loss of
  40.   synchronization between the model and the feed-back information provided
  41.   about train location: (default 10 seconds)
  42.  
  43. SYNCTIMEOUT=10
  44.  
  45.   The following line defines the rail distance that a train must cross before
  46.   that the previously occupied block (rail section) is liberated and the
  47.   corresponding signal is set to Red. (default 3 rails).
  48.  
  49. SECTFREEDIST=3
  50.  
  51.   The following lines define the rail distance before the lowering and after
  52.   the raising of the level crossing barriers.
  53.  
  54. LCROSSDETECT=7
  55. LCROSSLEAVE=2
  56.  
  57.   The following line defines the slope incidence on the electrical power
  58.   applied to the loco engine: (default 2)
  59.  
  60. SLOPEINCIDENCE=2
  61.  
  62. The "Tracing" functionality of CATrain permits to visualize in a file the
  63. traffic exchanged between the computer and the 6051 control unit.
  64. This file is named "Ctrl.trc".
  65.  
  66. Hereafter are described the command messages exchanged between the computer
  67. and the control unit.
  68. Those commands are borrowed to the MΣrklin protocol.
  69.  
  70. Setting the speed of a loco:
  71. ---------------------------
  72.         special function off (~ front light off):
  73.  
  74.         2 bytes:    speed, followed by an address 
  75.                     with the following meaning:
  76.                     speed = value from 0 to 14.
  77.                     address = loco decoder address (<80).
  78.  
  79.         special function on (~ front light on):
  80.  
  81.         2 bytes:    16 decimal + speed, followed by an address 
  82.                     with the following meaning:
  83.                     speed = value from 0 to 14 (+16 => 16 to 30)
  84.                     address = loco decoder address (<80).
  85.  
  86. Reversing the motion direction:
  87. ------------------------------
  88.         2 bytes:    15 decimal followed by the address byte of the loco
  89.                     when the special function is off (light off)
  90.                  or 31 decimal followed by the address byte of the loco
  91.                     when the special function is on (light on)
  92.  
  93. activating a signal or a rail-switch:
  94. ------------------------------------
  95.     turnout to straight or signal to green:
  96.         2 bytes:    33 decimal followed by the byte address of the device.
  97.  
  98.     turnout to straight or signal to green:
  99.         2 bytes:    34 decimal followed by the byte address of the device.
  100.  
  101. resetting the last activation command of a signal or a switch:
  102. -------------------------------------------------------------
  103.    (normally after more or less 250 ms):
  104.        1 byte       32 decimal
  105.  
  106. Establishing the polling of the feed-back information:
  107. -----------------------------------------------------
  108.    (train presence detection polling mode, with automatic reset 
  109.     of the information after reading):
  110.        1 byte       192 decimal
  111.                     N.B. presently, this message is sent at each
  112.                     polling cycle.
  113.  
  114. Polling the feed-back information:
  115. ---------------------------------
  116.    (train presence detection):
  117.        1 byte       159 decimal for every polling cycle
  118.                     (about every 600 ms).
  119.  
  120.     At each polling cycle, the controller must sent back to the PC the
  121.     status of all train presence detectors.
  122.     Each detector is represented by a single information bit.
  123.     (b0 for detector 1, b1 for detector 2, and so on)
  124.     When a train is detected, the corresponding detector bit is set to 1.
  125.     The whole information is sent by 16 bit packets. 
  126.     This means that at least two bytes are sent back for 1 to 16 detectors,
  127.     four bytes for 17 to 32 detectors and so on.
  128.     The unused bits are set to 0.
  129.  
  130. Two extra commands are provided:
  131.  
  132. Power On:
  133. --------
  134.  
  135.         1 byte:     96 decimal
  136.  
  137. Power Off:
  138. ---------
  139.         1 byte:     97 decimal
  140.   
  141. Under no circumstances will Joel Bouchat be liable for damages arising
  142. from the use of this software.
  143.  
  144. ==============================================================================
  145.  
  146.  
  147. CMRKCTRL.DLL est une version "BETA" du contr⌠leur d'interface pour CATrain,
  148. conτu pour le systΦme MΣrklin Digital(c).
  149. Comme le DLL n'a pu encore pu Ωtre testΘ dans toutes les conditions
  150. d'utilisation en liaison avec une vΘritable unitΘ de contr⌠le MΣrklin 6051
  151. et ses accessoires, ce DLL est livrΘ en l'Θtat, sans garantie, α l'intention
  152. des "Beta testeurs" volontaires ...
  153. L'unique rΘtribution demandΘe est l'envoi d'un rapport de test sur les
  154. dysfonctionnements plus ou moins graves constatΘs et les solutions et
  155. amΘliorations proposΘes.
  156.  
  157. Quelques conseils:
  158.  
  159. - Pour utiliser CMRKCTRL.DLL, vΘrifiez que la ligne de commande
  160. "CTRLCOM=CMRKCTRL.DLL" est prΘsente dans le paragraphe [DLL] du fichier
  161. d'initialisation CATRAIN.INI.
  162.  
  163. - Le Baud-Rate de la ligne sΘrie doit Ωtre fixΘ α 2400 BD pour l'interface
  164. MΣrklin  6051.
  165.  
  166. - En cas de problΦmes de contr⌠le des ΘlΘments "mΘcaniques" ou de
  167. synchronisation des trains. Il est possible de modifier certains paramΦtres
  168. par dΘfaut en insΘrant quelques ligne de commandes dans le paragraphe
  169. [PARAMETERS] de CATRAIN.INI:
  170.  
  171.   La ligne suivante dΘfinit la longueur de l'impulsion de contr⌠le d'un
  172.   ΘlΘment ΘlectromagnΘtique (par dΘfaut 216 ms):
  173.  
  174. CTRLPERIOD=216
  175.  
  176.   La ligne suivante dΘfinit la pΘriode de "polling" des informations
  177.   de rΘtrosignalisation (par dΘfaut 648 ms):
  178.  
  179. POLLPERIOD=648
  180.  
  181.   La ligne suivante dΘfinit le temps maximum de dΘsynchronisation tolΘrΘ
  182.   entre le modΦle informatique et les informations fournies par les unitΘs
  183.   de rΘtrosignalisation sur la position rΘelle des trains:
  184.   (par dΘfaut 10 secondes)
  185.  
  186. SYNCTIMEOUT=10
  187.  
  188.   La ligne suivante dΘfinit la distance (en voies) parcourue par le
  189.   modΦle d'un train avant la libΘration du tronτon prΘcΘdemment occupΘ et la
  190.   mise au rouge du signal correspondant:
  191.   (par dΘfaut 3 voies)
  192.  
  193. SECTFREEDIST=3
  194.  
  195.   Les lignes suivantes dΘfinissent les distances (en voies) pour l'abaissement
  196.   et le relevage des barriΦres d'un passage α niveau:
  197.  
  198. LCROSSDETECT=7
  199. LCROSSLEAVE=2
  200.  
  201.   La ligne suivante dΘfinit l'incidence du degrΘ des pentes et des c⌠tes sur
  202.   la commande Θlectrique des moteurs des locos: (par dΘfaut 2)
  203.  
  204. SLOPEINCIDENCE=2
  205.  
  206. La fonction de "Trace" de CATrain permet de visualiser dans un fichier
  207. appelΘ ""Ctrl.trc", le trafic ΘchangΘ entre l'ordinateur et l'unitΘ 6051.
  208.  
  209. Voici les commandes transmises par CATtrain α l'unitΘ de commande, ces
  210. commandes sont dΘrivΘes du protocole MΣrklin:
  211.  
  212. Commande de la vitesse d'une loco:
  213. ---------------------------------
  214.         sans activation de la fonction spΘciale (phares Θteints):
  215.  
  216.         2 bytes:    vitesse, suivi d'un byte d'adresse
  217.                     avec la signification suivante:
  218.                     vitesse = consigne de vitesse (0 a 14)
  219.                     adresse = adresse de la loco (limitΘe a 80).
  220.  
  221.         avec activation de la fonction spΘciale (phares allumΘs):
  222.  
  223.         2 bytes:    16 dΘcimal + vitesse, suivi d'un byte d'adresse
  224.                     avec la signification suivante:
  225.                     vitesse = consigne de vitesse (0 a 14) (+16 => 16 a 30)
  226.                     adresse = adresse de la loco (limitΘe a 80).
  227.  
  228. Changement du sens de marche d'une loco:
  229. ---------------------------------------
  230.         2 bytes:    15 dΘcimal suivi de d'un byte d'adresse (limitΘ a 80)
  231.                     avec la fonction spΘciale dΘsactivΘe(phares Θteints)
  232.                  ou 31 dΘcimal suivi de d'un byte d'adresse (limitΘ a 80)
  233.                     avec la fonction spΘciale activΘe (phares allumΘs).
  234.  
  235. activation d'un signal ou d'un aiguillage:
  236. -----------------------------------------
  237.     aiguillage droit ou signal vert:
  238.         2 bytes:    33 dΘcimal suivi d'un byte d'adresse de l'ΘlΘment.
  239.  
  240.     aiguillage courbe ou signal rouge:
  241.         2 bytes:    34 dΘcimal suivi d'un byte d'adresse de l'ΘlΘment.
  242.  
  243. arrΩt de la derniΦre commande d'activation d'aiguillage ou de signal:
  244. --------------------------------------------------------------------
  245.    (normalement aprΦs environ 250 ms):
  246.        1 byte       32 dΘcimal
  247.  
  248. Etablissement du polling des informations de rΘtro signalisation:
  249. ----------------------------------------------------------------
  250.    (mode de polling des dΘtecteurs de prΘsence des trains, 
  251.     avec reset des infos lors de la lecture):
  252.        1 byte       192 dΘcimal
  253.                     N.B. cette info est envoyΘe actuellement α chaque
  254.                     cycle de polling.
  255.  
  256. Polling des informations de rΘtro signalisation:
  257. -----------------------------------------------
  258.    (dΘtection de prΘsence des trains):
  259.        1 byte       159 dΘcimal a chaque cycle de polling 
  260.                     (environ toutes les 600 ms).
  261.  
  262.     A chaque cycle de polling, le contr⌠leur doit renvoyer au PC 
  263.     l'Θtat de tous les dΘtecteurs de prΘsence ou de passage des trains.
  264.     Chaque dΘtecteur est reprΘsentΘ par 1 bit d'information
  265.     (b0 pour le dΘtecteur 1, b1 pour le dΘtecteur 2, et ainsi de suite).
  266.     Lorsque le bit est a 1, un train est dΘtectΘ.
  267.     Cette information est envoyΘe en paquets de 16 bits (2 bytes). 
  268.     C'est α dire 2 bytes minimum pour 1 α 16 dΘtecteurs, 4 bytes pour 
  269.     17 α 32 dΘtecteurs et ainsi de suite.
  270.     Les bits non utilisΘs sont mis a 0.
  271.  
  272. Deux messages supplΘmentaires sont Θgalement utilisΘs:
  273.  
  274. Mise en route alimentation:
  275. --------------------------
  276.         1 byte:     96 dΘcimal
  277.  
  278. ArrΩt gΘnΘral:
  279. -------------
  280.         1 byte:     97 dΘcimal
  281.  
  282. En aucune circonstance Joδl Bouchat ne pourra Ωtre tenu  pour responsable
  283. des dommages qui pourraient dΘcouler de l'utilisation de ce logiciel.
  284.  
  285.  
  286.  
  287.